using System;
using System.Collections;

namespace Deepcode.Flux.Core.Extensions
{
	/// <summary>
	/// Extension is the intermediary class that loads the contents of 
	/// an "Extension" node within an addin definition. An extension is a path
	/// within the addin tree.
	/// </summary>
	public class Extension
	{
		private	string    _Path;
		private ArrayList _CodonCollection = new ArrayList();
			
		/// <summary>
		/// Returns the path in which the codons will be inserted
		/// </summary>
		public string Path 
		{
			get{ return _Path; }
			set{ _Path = value; }
		}
		/// <summary>
		/// Returns an array list of all the codons defined in this extension
		/// </summary>
		public ArrayList CodonCollection 
		{
			get{ return _CodonCollection; }
			set{ _CodonCollection = value; }
		}
		/// <summary>
		/// Constructs a new instance of an Extension
		/// </summary>
		public Extension(string path)
		{
			this._Path = path;
		}
	}
}
